iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0

大家好!今天要來介紹typescript的基本型別。作為強型別的TypeScript,最重要的就是認識、學會如何活用這些型別,在TS的輔助下,也能夠快速地掌握出bug的原因。


原始資料型別(primitive data types)

在TS中,常見的資料型別有以下這五項:

  • string 字串
  • boolean 布林值
  • number 數值
  • null 空值
  • undefined 未定義

1. string(字串)

說明:以單引號(')或雙引號(")標示,最特殊的ES6是使用反引號。string用來表示一段對話或文字內容,範例如下:

let userName: string = "Andy";
let teacherName: string = 'Charlie';
let sentence: string = `Hello, My name is ${userName}!`;

其中${userName},這種在反引號中嵌入變數的語法叫字串插值

2. boolean(布林值)

說明:布林值用來表示兩種狀態:true/false,常用作條件判斷。

let buttonOn: boolean = true;
let buttonOff: boolean = false;

3. number(數值)

說明:只要你是個數字,無論是浮點數、整數,或是其他二進制、十六進制等等的數字,通通都屬於number型別,JavaScript和TypeScript不像Java或C語言那樣複雜,不會有intdouble、或是float這樣的型別出現。

let age: number = 20;
let height: number = 178.5;
let hex: number = 0x4d5;
let bin: number = 0b010001;

4. null & undefined

說明:null代表了一個變數被賦予了一個空值;undefined則代表了一個變數尚未被賦值,也就是不存在。這樣說可能有些抽象,舉個例子來解釋:

// null的用法:
let a: null = null;
let b: number | null = null; //變數b擁有一個具體的(空)值,並非不存在或未定義
//變數b的寫法是聯合型別的用法,之後的文章也會提及喔!

// undefined的用法:
let a: undefined = undefined;
let b: string; //表示字串b未被指派為具體的值,此時b的默認為undefined
//備註:雖然變數b默認為undefined,但若在初始化前使用變數b,TS會直接報錯

甚麼情況會使用到null/undefined?

  • null

    • 當函數必須回傳一個有意義的值,而結果為空時,則使用null回傳
    • 清除當前狀態,將當前變數的值清空
    • 後端API及JSON需要回傳空值時
  • undefined

    • 初始化變數(未賦值時預設為undefined)
    • 存取不存在的屬性或不存在的陣列元素
    • 當函數沒有明確的回傳值時,回傳undefined
    • 函數內的參數未提供值時(連null也未提供時),回傳undefined

小結

今天介紹了最基本最基本的原始型別,前三個booleanstringnumber都很好理解,開發時也很輕易就能上手,反而是nullundefined很容易讓人搞混,也很難向大家闡述兩者的差異,他們本質上最大的不同,那就是null人為定義的空值,而undefined系統默認不存在的值。明天會跟大家介紹陣列及元組,今天先到這邊結束!


上一篇
[Day-3] 型別註解x型別推論x變數宣告
下一篇
[Day-5]物件型別(object types)x物件(object)
系列文
從零開始學習TypeScript:菜鳥的入門介紹與概覽22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言